package com.yunhe.tianhe.rentcars.dao.client;

import com.yunhe.tianhe.rentcars.entity.client.Client;
import com.yunhe.tianhe.rentcars.entity.client.ClientCompany;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ClientDao {


    /**
     * 总行数
     *
     * @return
     */
    Long countLines(@Param("offset") Integer offset, @Param("limit")Integer limit, @Param("memLevel")Long memLevel, @Param("addTime")String addTime, @Param("mobile")String mobile, @Param("lastTime")String lastTime);


    /**
     * 查询某位客户的租车总次数
     *
     * @return
     */
    Long rentCount(Long id);


    /**
     * 搜索展示列表
     *
     * @return
     */
    List<Client> searchList(@Param("offset") Integer offset, @Param("limit")Integer limit, @Param("memLevel")Long memLevel, @Param("addTime")String addTime, @Param("mobile")String mobile, @Param("lastTime")String lastTime);


    /**
     * 添加客户基本信息,公司信息
     * @param client
     */
    void saveClient(Client client);


    /**
     * 添加客户
     * @param clientCompany
     */
    void saveCompany(ClientCompany clientCompany);


    /**
     * 通过电话查找
     * @param mobile
     * @return
     */
    Client findOneByMobile(String mobile);


    /**
     *修改客户信用分值和会员级别
     * @param client
     */
    void updateByCredit(Client client);
}
